Я намагаюся завантажити передбачення після зняття пікінгу, але я отримую цю помилку /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/weight_boosting.py:29: DeprecationWarning: numpy.core.umath_tests - це внутрішній модуль NumPy і не слід імпортувати. Його буде видалено в майбутньому NumPy звільнення. з numpy.core.umath_tests імпорт inner1d /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/base.py:311: UserWarning: Спроба вилучити оцінювач DecisionTreeClassifier з версія 0.20.2 при використанні версії 0.19.2. Це може призвести до поломки код або недійсні результати. Використовуйте на власний ризик. Попередження користувача) /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/base.py:311: UserWarning: Спроба зняти оцінювач RandomForestClassifier з версія 0.20.2 при використанні версії 0.19.2. Це може призвести до поломки код або недійсні результати. Використовуйте на власний ризик. Попередження користувача) Відстеження (останній останній дзвінок): Файл "rf_pred_model_tester.py", рядок 7, в print ('Class:', int (rf.predict (xx))) Файл "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/forest.py" , рядок 538, у передбаченні файл проби = self.predict_proba (X) "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/forest.py", рядок 581, у прогнозі_проба n_jobs, _, _ = _part_estimators (self.n_estimators, self.n_jobs) Файл "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/ensemble/base.py", рядок 153, в _partition_estimators n_jobs = min (_get_n_jobs (n_jobs), n_estimators) Файл "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sklearn/utils/init.py", рядок 464, у _get_n_jobs якщо n_jobs <0: TypeError: '<' не підтримується між екземплярами 'NoneType' та 'int' ось код, який я намагаюся запустити імпортний соління імпортувати numpy як np з відкритим ('rf_model_1', 'rb') як f: rf = pickle.load (f) xx = np.array ([67, 17832, 1, 1, 0, 33, 1941902452, 36, 33011.0, 19, 18, 0, 2, 1]). зміна форми (1, -1) print ('Class:', int (rf.predict (xx)))) Я очікую такий результат: Клас: [0] якщо я запускаю код на jupyter, він працює нормально, але при спробі запустити на терміналі з’являється помилка.
2021-01-16 08:14:08
Ваша помилка прямо кажуть: UserWarning: Спроба зняти оцінювач RandomForestClassifier з версії 0.20.2 під час використання версії 0.19.2. Це може призвести до злому коду або неправильних результатів. Використовуйте на власний ризик. І справді так і сталося; при маринуванні атрибут n_jobs вашого RandomForestClassifier зберігався як None. Це значення за замовчуванням для ініціалізації, але за лаштунками зазвичай це значення 1. Більш детальну інформацію про n_jobs можна знайти тут: https://scikit-learn.org/stable/glossary.html#term-n-jobs Для вас встановлення rf's n_jobs на 1 зробить трюк: імпортний соління імпортувати numpy як np з відкритим ('rf_model_1', 'rb') як f: rf = pickle.load (f) rf.n_jobs = 1 xx = np.array ([67, 17832, 1, 1, 0, 33, 1941902452, 36, 33011.0, 19, 18, 0, 2, 1]). зміна форми (1, -1) print ('Class:', int (rf.predict (xx)))) | Високоактивне запитання. Заробіть 10 репутації, щоб відповісти на це питання. Вимога про репутацію допомагає захистити це питання від спаму та відсутності відповідей. Не відповідь, яку ви шукаєте? Перегляньте інші запитання, позначені тегом python-3.x, або задайте власне запитання.